#include "rssb.h"
#include "redexceptionobject.h"

RedTypeObject ArrayType =
{
	RedType_INIT("Array", Array, RedType_Object)

	.tp_str		= array_repr,
	.tp_repr	= array_repr,
	.tp_release = array_release,
	.tp_delitem	= array_delitem,
	.tp_getitem	= array_getitem,
	.tp_setitem	= array_setitem,
};

RedTypeObject MethodType =
{
	RedType_INIT("Method", Method, RedType_Object)

	.tp_invoke	= method_invoke,
	.tp_release	= method_release,
};

RedTypeObject ScalaObjectType =
{
	RedType_INIT("ScalaObject", ScalaObject, RedType_Object)

	.tp_hash	= object_hash,
	.tp_release	= object_release,

	.tp_eq		= object_eq,
	.tp_str		= object_str,
	.tp_repr	= object_repr,

	.tp_delattr	= object_delattr,
	.tp_getattr	= object_getattr,
	.tp_setattr	= object_setattr,
};

RedTypeObject ScalaExceptionType =
{
	RedType_INIT("JavaException", RedExceptionObject, RedExc_Exception)
};